1. 숫자 연산
sqrt() |
주어진 값의 제곱근 |
abs() |
주어진 값의 절댓값 |
exp() |
자연상수 e의 제곱수 |
log() |
밑이 자연상수인 로그 값 |
log10() |
밑이 10인 로그 값 |
pi() |
원주율 pi=3.141592 |
round() |
주어진 수의 반올림 값 |
ceiling() |
주어진 수를 올림 |
floor() |
주어진 수를 내림 |
2. 문자 연산
tolower() |
주어진 문자열을 소문자로 변경 |
toupper() |
주어진 문자열을 대문자로 변경 |
nchar() |
주어진 문자열의 길이 |
substr() |
문자열의 일부분을 추출 |
strsplit() |
문자열을 구분자로 나누어 쪼갬 |
grepl() |
문자열에 주어진 문자가 있는지 확인 |
gsub() |
문자열의 일부분을 다른 문자로 대체 |
> data<-'This is a pen'
> tolower(data)
[1] "this is a pen"
> toupper(data)
[1] "THIS IS A PEN"
> nchar(data)
[1] 13
> substr(data, 9, 13)
[1] "a pen"
> strsplit(data, 'is')
[[1]]
[1] "Th" " " " a pen"
> grepl('pen', data)
[1] TRUE
> gsub('pen', 'bananan', data)
[1] "This is a bananan"
3. 벡터 연산
length() |
주어진 벡터의 길이 |
paste() |
주어진 벡터를 구분자를 기준으로 결합 |
cov() |
두 수치 벡터의 공분산 |
cor() |
두 수치 벡터의 상관관계 |
table() |
데이터의 개수 |
order() |
벡터의 순서 |
4. 행렬 연산
t() |
전치행렬 |
diag() |
대각행렬 |
%*% |
두 행렬을 곱함 |
> m1<-matrix(c(1,2,3,4,5,6), nrow=2)
> m2<-matrix(c(1,2,3,4,5,6), ncol=2)
> m1
[,1] [,2] [,3]
[1,] 1 3 5
[2,] 2 4 6
> m2
[,1] [,2]
[1,] 1 4
[2,] 2 5
[3,] 3 6
> m1%*%m2
[,1] [,2]
[1,] 22 49
[2,] 28 64
5. 데이터 탐색
head() |
데이터의 앞 일부분 출력 |
tail() |
데이터의 뒤 일부분 출력 |
quantile() |
수치 벡터의 4분위수를 출력 |
> x<-c(1 : 12)
> head(x, 5)
[1] 1 2 3 4 5
> tail(x, 5)
[1] 8 9 10 11 12
> quantile(x)
0% 25% 50% 75% 100%
1.00 3.75 6.50 9.25 12.00
6. 데이터 전처리
subset() |
데이터에서 조건식에 맞는 데이터를 추출 |
merge() |
두 데이터를 특정 공통된 열을 기준으로 병합 |
apply() |
데이터에 열(또는 행)별로 주어진 함수를 적용 |
> df1<-data.frame(x=c(1, 1, 1, 2, 2), y=c(2, 3, 4, 3, 3))
> df2<-data.frame(x=c(1, 2, 3, 4), z=c(5, 6, 7, 8))
> subset(df1, x==1)
x y
1 1 2
2 1 3
3 1 4
> merge(df1, df2, by=c('x'))
x y z
1 1 2 5
2 1 3 5
3 1 4 5
4 2 3 6
5 2 3 6
# 1은 행에 함수를 적용, 2는 각 열에 함수를 적용
> apply(df1, 1, sum)
[1] 3 4 5 5 5
> apply(df1, 2, sum)
x y
7 15
7. 정규분포(기본값은 표준 정규 분포 mean=0, sd=1)
dnorm() |
정규 분포의 주어진 값에서 함수 값 구함 |
rnorm() |
정규 분포에서 주어진 개수만큼 표본을 추출 |
pnorm() |
정규 분포에서 주어진 값보다 작을 확률을 구함 |
qnorm() |
정규 분포에서 주어진 넓이 값을 갖는 x 값을 구함 |
8. 표본추출
runif() |
균일 분포에서 주어진 개수만큼 표본을 추출 |
sample() |
주어진 데이터에서 주어진 개수만큼 표본을 추출 |
9. 날짜
Sys.Data() |
연, 월, 일을 출력 |
Sys.time() |
연, 월, 일, 시간을 출력 |
as.Date() |
주어진 데이터를 날짜 형식으로 변환 |
format() |
원하는 날짜 형식으로 변경 |
as.POSIXct() |
타임스탬프를 날짜 및 시간으로 변환 |
> Sys.Date()
[1] "2021-09-02"
> Sys.time()
[1] "2021-09-02 17:18:43 KST"
> as.Date('2020-01-01')
[1] "2020-01-01"
> format(Sys.Date(), '%Y/%m/%d')
[1] "2021/09/02"
> format(Sys.Date(), '%A')
[1] "Thursday"
> unclass(Sys.time())
[1] 1630570790
> as.POSIXct(unclass(Sys.time()), origin='1970-01-01')
[1] "2021-09-02 17:20:21 KST"
10. 산점도
plot() |
주어진 데이터의 산점도를 그린다. |
abline() |
산점도에 추가 직선을 그린다. |
plot()
type에서 p는 점, l은 직선, b는 점과 직선, n은 아무것도 표시하지 않음을 의미
xlim로 x축의 범위, ylim으로 y축의 범위를 설정
xlab, ylab은 각 축의 이름을 지정한다.
main으로 산점도의 이름을 지정
abline()
abline()의 v는 수직선, h는 수평선을 그리는 매개변수이다.
col 매개변수로 색상을 지정할 수 있다.
> x<-c(1:10)
> y<-rnorm(10)
> plot(x, y, type='l', xlim=c(-2, 12), ylim=c(-3, 3), xlab="X axis", ylab='Y axis', main='Test plot')
> abline(v=c(1, 10), col='blue')
11. 파일 읽기
read.csv() |
CSV 파일 불러옴 |
write.csv() |
주어진 데이터를 CSV 파일로 저장 |
saveRDS() |
분석 모델 및 R 파일을 저장 |
readRDS() |
분석 모델 및 R 파일을 불러옴 |
12. 기타
install.packages() |
패키지를 설치 |
library() |
설치된 패키지를 호출 |
getwd() |
작업 디렉터리를 확인 |
setwd() |
작업 디렉터리를 설정 |